Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / ci / github-verify-frozen-sandbox.sh

Displaying Raw • Download


scripts/ci/github-verify-frozen-sandbox.sh e41daa5b65e07a5baa1aaad32d97f90482f1cd1c (e41daa5b) Text, 1.53 KB

T8b949e#!/usr/bin/env bash
T8b949e# Verify cx_Freeze bundles Landlock / AppContainer / Seccomp sandbox modules.
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Te6edf3BUILD_EXETff7b72=Ta5d6ff"Tffd700${Te6edf31Tff7b72:-Tffd700${Te6edf3ROOTTffd700}Tb4b4b4/build/exeTffd700}Ta5d6ff"

Tff7b72if Tff7b72[Tff7b72[ ! -d Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffcx_Freeze output not found at Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

Tff7b72if Tff7b72[Tff7b72[ ! -d Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff/libTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72for sub Tff7b72in Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff"/*Tb4b4b4; Tff7b72do
Tff7b72if Tff7b72[Tff7b72[ -d Ta5d6ff"Tffd700${Te6edf3subTffd700}Ta5d6ff/libTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Te6edf3BUILD_EXETff7b72=Ta5d6ff"Tffd700${Te6edf3subTffd700}Ta5d6ff"
Tff7b72break
Tff7b72fi
Tff7b72done
Tff7b72fi

Te6edf3LIB_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff/libTa5d6ff"
Te6edf3LIBRARY_ZIPTff7b72=Ta5d6ff"Tffd700${Te6edf3LIB_DIRTffd700}Ta5d6ff/library.zipTa5d6ff"
Te6edf3REQUIRED_STEMSTff7b72=Tff7b72(
Ta5d6ff"landlock_sandbox"
Ta5d6ff"appcontainer_sandbox"
Ta5d6ff"appcontainer_launcher"
Ta5d6ff"seccomp_sandbox"
Tff7b72)

module_presentTff7b72(Tff7b72) Tff7b72{
Tffa657local Te6edf3stemTff7b72=Ta5d6ff"Te6edf3$1Ta5d6ff"
Tffa657local hit

Te6edf3hitTff7b72=Ta5d6ff"Tff7b72$(
find Ta5d6ff"Tffd700${Te6edf3LIB_DIRTffd700}Ta5d6ff" -type f Tffea00\
Tffea00\( -name Ta5d6ff"Tffd700${Te6edf3stemTffd700}Ta5d6ff.pyTa5d6ff" -o -name Ta5d6ff"Tffd700${Te6edf3stemTffd700}Ta5d6ff.pycTa5d6ff" -o -name Ta5d6ff"Tffd700${Te6edf3stemTffd700}Ta5d6ff.*.pycTa5d6ff" Tffea00\) Tffea00\
T79c0ff2>/dev/null Tb4b4b4| head -n T79c0ff1 Tff7b72|| Tffa657true
Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[Tff7b72[ -n Ta5d6ff"Tffd700${Te6edf3hitTffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6fffound Tffd700${Te6edf3hitTb4b4b4#Ta5d6ff"Tffd700${Te6edf3LIB_DIRTffd700}Ta5d6ff"Tb4b4b4/Tffd700}Ta5d6ff"
Tff7b72return T79c0ff0
Tff7b72fi

Tff7b72if Tff7b72[Tff7b72[ -f Ta5d6ff"Tffd700${Te6edf3LIBRARY_ZIPTffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72if unzip -l Ta5d6ff"Tffd700${Te6edf3LIBRARY_ZIPTffd700}Ta5d6ff" Tb4b4b4| grep -Eiq Ta5d6ff"Tffd700${Te6edf3stemTffd700}Ta5d6ff\\.(py|pyc)([^[:alnum:_].]|$Ta5d6ff)Ta5d6ff"Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6fffound Tffd700${Te6edf3stemTffd700}Ta5d6ff in library.zipTa5d6ff"
Tff7b72return T79c0ff0
Tff7b72fi
Tff7b72fi

Tff7b72return T79c0ff1
Tff7b72}

Te6edf3missingTff7b72=T79c0ff0
Tff7b72for stem Tff7b72in Ta5d6ff"Tffd700${Te6edf3REQUIRED_STEMSTb4b4b4[@]Tffd700}Ta5d6ff"Tb4b4b4; Tff7b72do
Tff7b72if module_present Ta5d6ff"Tffd700${Te6edf3stemTffd700}Ta5d6ff"Tb4b4b4; Tff7b72then
Tff7b72continue
Tff7b72fi
Tffa657echo Ta5d6ff"Ta5d6ffmissing sandbox module: Tffd700${Te6edf3stemTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Te6edf3missingTff7b72=T79c0ff1
Tff7b72done

Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Tffd700${Te6edf3missingTffd700}Ta5d6ff" -ne T79c0ff0 Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657exit T79c0ff1
Tff7b72fi

Tffa657echo Ta5d6ff"Ta5d6ffFS sandbox modules present under Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────